package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_emp_soc_changes")
@Key(UUID = true)
public class EmpSocChangesDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 员工ID
     */
    private String empId;
    /**
     * 参保城市
     */
    private String socCity;
    /**
     * 社保类型（0：非首次开户，1：首次开户）
     */
    private Boolean socType;
    /**
     * 社保基数
     */
    private Integer socBasic;
    /**
     * 社保企业缴纳比例
     */
    private BigDecimal socPropCompany;
    /**
     * 社保个人缴纳比例
     */
    private BigDecimal socPropPerson;
    /**
     * 社保企业缴纳金额
     */
    private Integer socAmountCompany;
    /**
     * 社保个人缴纳金额
     */
    private Integer socAmountPerson;
    /**
     * 社保备注
     */
    private String socRemark;
    /**
     * 社保主体
     */
    private Integer socMain;
    /**
     * 户籍类型（1：本市城镇，2：本市农村，3：外埠城镇，4：外埠农村）
     */
    private Integer censusType;
    /**
     * 工伤比例
     */
    private BigDecimal workInjuryProp;
    /**
     * 公积金城市
     */
    private String pfCity;
    /**
     * 公积金基数
     */
    private Integer pfBasic;
    /**
     * 公积金企业缴纳比例
     */
    private BigDecimal pfPropCompany;
    /**
     * 公积金个人缴纳比例
     */
    private BigDecimal pfPropPerson;
    /**
     * 公积金企业缴纳金额
     */
    private Integer pfAmountCompany;
    /**
     * 公积金个人缴纳金额
     */
    private Integer pfAmountPerson;
    /**
     * 公积金需纳税额
     */
    private Integer pfTaxAmount;
    /**
     * 公积金备注
     */
    private String pfRemark;
    /**
     * 个税比例
     */
    private BigDecimal personTaxProp;
    /**
     * 个税金额
     */
    private Integer personTaxAmount;
    /**
     * 本月不缴纳社保（0：否，1：是）
     */
    private Boolean socUnpayMonth;
    /**
     * 公司id
     */
    private String companyId;
    /**
     * 本月不缴纳公积金（0：否，1：是）
     */
    private Boolean pfUnpayMonth;
    /**
     * 本月补缴社保（0：否，1：是）
     */
    private Boolean socPaybackMonth;
    /**
     * 本月补缴公积金（0：否，1：是）
     */
    private Boolean pfPaybackMonth;
    /**
     * 本月补缴社保金额
     */
    private Integer socPaybackMonthAmount;
    /**
     * 本月补缴公积金金额
     */
    private Integer pfPaybackMonthAmount;
    /**
     * 本月补缴社保备注
     */
    private String socPaybackMonthRemark;
    /**
     * 本月补缴公积金备注
     */
    private String pfPaybackMonthRemark;
    /**
     * 生效状态（0：未生效，1：已生效）
     */
    private Boolean effectiveStatus;
    /**
     * 生效时间
     */
    private Date effectiveDate;



}

